public class Package {
    public static void main1(String[] args) {
        int a=10;
        Integer val=a;//自动装箱/装包
        Integer val1=Integer.valueOf(a); //显示装箱
        Integer val2=new Integer(a); //显示装箱
        System.out.println(val);
        System.out.println(val1);
        System.out.println(val2);
    }


    public static void main2(String[] args) {
        Integer val=10;
        int a=val;    //自动拆箱->引用类型拆为了基本数据类型

        int b= val.intValue();   //显示拆箱
        double d=val.doubleValue();
        System.out.println(d);
    }


    public static void main3(String[] args) {
        Integer a=100;  //自动装箱
        Integer b=100;
        Integer c=200;
        Integer d=200;
        System.out.println(a==b); //在自动装箱的过程中会调用valueOf方法,而valueOf在传入的值为-128~127之间时，会返回一个数组值(这个数组中存的值是放好的，可直接取出)
        // 比如传入的是-128，那么就会存在0下标处，并返回-128,(127存在255下标位置处)
        System.out.println(c==d);//而在超过这个范围后，valueOf方法会返回一个新的对象
    }

}
